This invention relates to computer systems, and especially to computer systems that are employed as servers.
The systems may for instance be employed as servers for example in local area networks (LANs) or in wide area networks (WANs), telecommunications systems or other operations such as database management or as internet servers. Such servers may be used in so-called “horizontally scaled” applications in which tens or hundreds of corresponding servers are employed as part of a distributed system.
A typical computer employed for such purposes will comprise a pair of processors mounted on a motherboard, together with power supply units (PSUs), and other components such as hard disc drives (HDDs), fans, digital video disc (DVD) players, memory modules ethernet ports etc. One or more of the processors, the host processor(s), provides the main functions of the server, and may communicate with a number of peripheral components, including communication ports, optionally via peripheral component interconnect (PCI) bridges in order to provide server operation. One of those peripheral components, called the “South Bridge” further allows the host processors to communicate with internal devices via serial interfaces one of which transports the console interface of the processors.
In addition to the host processor(s), the system may include another processor, called the service processor or the remote management controller (RMC), which provides management functions for the system assembly. Such functions may include environmental monitoring, temperature monitoring of the enclosure, fan speed control, data logging and the like.
Conventionally, some means has been needed to control communication between the user and the host processor and the service processor. In one early design of server, the service processor and the console interface of the host processor were connected to a user interface, such as a serial port, by means of a custom programmable logic device. The service processor would control the logic device and any communication between the service processor and the user interface would take precedence over communications with the console interface so that any data generated by the console when the service processor was being operated using its command line interface (CLI) would be lost. In addition, the logic device was not designed to handle a malfunction of the service processor, with the result that if the service processor were to malfunction when its CLI was being used, it would no longer be possible to communicate with the console interface.
An improvement in that system has been to employ a dual ported service processor so that all data between the console interface and the user interface is routed through the service processor. The service processor can then decide whether the data relates to the management mode of operation, in which case the data could be processed by the service processor, or whether it relates to console mode, in which case it could be routed to the console interface. In this system, if data were generated at the console interface while the system was in management mode, the data would not be lost but would be stored in memory associated with the service processor. However, because all data to or from the console is routed via the service processor, any malfunction of the service processor would prevent further communication between the user and the host processor until replacement of the service processor (although that would not necessarily prevent operation of the host processor). Depending on the location of the network server, replacement of the service processor may take days or even weeks.